home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
libs
/
knowhow4
/
khquerry.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1994-10-10
|
2KB
|
63 lines
#include "khquerry.h"
#include "khpxeerr.h"
KH_QUERRY::KH_QUERRY(char** q, char** e,
char* c, int numOfColumns)
{
int numQ = 0; // Number of querried fields
querryNumbers = new int[255];
querry = new KH_STRTABLE(0, NULL);
for(int i = 0; i < numOfColumns; i++)
if(q[i][0] != '\0')
{
querryNumbers[numQ] = i;
querry->add(q[i]);
numQ++;
}
querryNumbers[numQ] = -1;
querryNumbers = (int*)realloc(querryNumbers, numQ * sizeof(int*) + 2);
int numE = 0; // Number of querried fields
exampleNumbers = new int[255];
examples = new KH_STRTABLE(0, NULL);
for(i = 0; i < numOfColumns; i++)
if(e[i][0] != '\0')
{
exampleNumbers[numE] = i;
examples->add(e[i]);
numE++;
}
exampleNumbers[numE] = -1;
exampleNumbers = (int*)realloc(exampleNumbers, numE * sizeof(int*) + 2);
if(c != NULL)
{
int numC = 0; // Number of querried fields
checkedFields = new int[255];
for(int i = 0; i < numOfColumns; i++)
if(c[i] != QFREE)
{
checkedFields[numC] = c[i];
numC++;
}
checkedFields =
(int*)realloc(checkedFields, numC * sizeof(int*) + 2);
}
else
checkedFields = NULL;
khPxErr = 0;
}
////////////////////////////
KH_QUERRY::~KH_QUERRY()
{
delete querry;
delete examples;
delete querryNumbers;
delete exampleNumbers;
delete checkedFields;
}